﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Bamuca.Codigo.BO;
using Bamuca.Codigo.DTO;
using Bamuca.Codigo.DAO;

namespace Bamuca.Views
{
    public partial class EditarGrupos : System.Web.UI.Page
    {
        private GrupoBo _grupoBo = new GrupoBo();
        private ErroBo _erroBo = new ErroBo();

        protected void Page_Load(object sender, EventArgs e)
        {
            //if (string.IsNullOrEmpty(Convert.ToString(Session["login"])))
            //{
            //    Response.Redirect("Default.aspx");
            //}

            if (!IsPostBack)
            {
                if (string.IsNullOrEmpty(Request.QueryString["id"]))
                {
                    MultiView1.ActiveViewIndex = 1;
                }
                else
                {
                    int _idgrupo = Convert.ToInt32(Request.QueryString["id"]);

                    GrupoDto _grupo = new GrupoDto();
                    _grupo = _grupoBo.ConsultarSoUm(_idgrupo);

                    hdFieldId.Value = _grupo.IdGrupo.ToString();
                    tbNomeGrupoAlterar.Text = _grupo.Nome;
                    rbStatusAlterar.SelectedValue = _grupo.Status.ToString();

                    MultiView1.ActiveViewIndex = 0;
                }
            }
        }

        private void LimparCampos(Panel _panel)
        {
            foreach(Control _Limpar in _panel.Controls)
            {
                if (_Limpar is TextBox)
                {
                    TextBox _txt = (TextBox)_Limpar;
                    _txt.Text = string.Empty;
                }

                if (_Limpar is RadioButtonList)
                {
                    RadioButtonList _rb = (RadioButtonList)_Limpar;
                    _rb.SelectedIndex = 0;
                }
            }
        }

        protected void imgBtSalvar_Click(object sender, ImageClickEventArgs e)
        {
            GrupoDto _grupo = new GrupoDto();

            try
            {
                _grupo.Nome = tbNomeGrupo.Text;
                _grupo.Status = Convert.ToInt32(rbStatus.SelectedValue);

                _grupoBo.Incluir(_grupo);
                LimparCampos(Panel1);

                ScriptManager.RegisterStartupScript(Page, GetType(), "", "javascript:$('#cadastroSucesso').slideDown().delay(4000).slideUp();", true);
            }
            catch (Exception ex)
            {
                lblErro.Text = _erroBo.TratarErro(ex);
                ScriptManager.RegisterStartupScript(Page, GetType(), "", "javascript:$('#erro').slideDown().slideUp();", true);
            }
        }

        protected void imgBtAlterar_Click(object sender, ImageClickEventArgs e)
        {
            GrupoDto _grupo = new GrupoDto();

            try
            {
                _grupo.IdGrupo = Convert.ToInt32(hdFieldId.Value);
                _grupo.Nome = tbNomeGrupoAlterar.Text;
                _grupo.Status = Convert.ToInt32(rbStatusAlterar.SelectedValue);

                _grupoBo.Alterar(_grupo);
                Response.Redirect("CadastrarGrupos.aspx");
            }
            catch (Exception ex)
            {
                lblErro.Text = _erroBo.TratarErro(ex);
                ScriptManager.RegisterStartupScript(Page, GetType(), "", "javascript:$('#erro').slideDown().slideUp();", true);
            }
        }

        protected void imgBtVoltar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("CadastrarGrupos.aspx");
        }

        protected void imgBtDeletar_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                _grupoBo.Excluir(Convert.ToInt32(hdFieldId.Value));
                Response.Redirect("CadastrarGrupos.aspx");
            }
            catch (Exception ex)
            {
                lblErro.Text = _erroBo.TratarErro(ex);
                ScriptManager.RegisterStartupScript(Page, GetType(), "", "javascript:$('#erro').slideDown().slideUp();", true);
            }
        }

        protected void ibtnVolta_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("CadastrarGrupos.aspx");
        }

    }
}
